package com.tool4j.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 用户信息表
 *
 * @author Deng.Weiping
 * @since 2023-10-28 11:27:36
 */
@Data
@TableName("t_user")
public class User implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /**
     * 用户ID
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long userId;

    /**
     * 用户名
     */
    private String name;

    /**
     * 账号
     */
    private String account;

    /**
     * 密码
     */
    private String password;

    /**
     * 来源IP
     */
    private String sourceIp;

    /**
     * ip归属地
     */
    private String region;

    /**
     * 状态：0-停用，1-正常，2-注销
     */
    private String status;

    /**
     * 角色：0-普通用户，1-系统管理员
     */
    private String role;

    private String phoneNum;

    private String email;

    /**
     * 创建时间
     */
    @JsonIgnore
    private Date createdDate;

    /**
     * 修改时间
     */
    @JsonIgnore
    private Date updatedDate;

}